lexer grammar InternalCommon;
@header {
package scerbak.parser.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.parser.antlr.Lexer;
}

T15 : ',' ;
T16 : '(' ;
T17 : ')' ;
T18 : '/' ;
T19 : '.' ;
T20 : '.*' ;

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 277
RULE_EMPTY : 'Should be empty!';

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 279
RULE_CHAR : 'a'..'z';

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 281
RULE_UPCHAR : 'A'..'Z';

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 283
RULE_UPID : RULE_UPCHAR RULE_ID;

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 285
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 287
RULE_INT : ('0'..'9')+;

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 289
RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 291
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 293
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 295
RULE_WS : (' '|'\t'|'\r'|'\n')+;

// $ANTLR src "../scerbak.common/src-gen/scerbak/parser/antlr/internal/InternalCommon.g" 297
RULE_ANY_OTHER : .;


